﻿using System;

namespace Xenta.Enums
{
    /// <summary>
    /// Defines the publication author flags.
    /// </summary>
    [Flags]
    public enum PublicationAuthorFlags
    {
        /// <summary>
        /// Indicates no flags.
        /// </summary>
        None = 0x00000000,

        #region S

        /// <summary>
        /// Indicates that an entity is active.
        /// </summary>
        Active = 0x00000001

        #endregion
    }

    /// <summary>
    /// Defines the publication tag flags.
    /// </summary>
    [Flags]
    public enum PublicationTagFlags
    {
        /// <summary>
        /// Indicates no flags.
        /// </summary>
        None = 0x00000000,

        #region S

        /// <summary>
        /// Indicates that an entity is active.
        /// </summary>
        Active = 0x00000001,

        #endregion
    }

    /// <summary>
    /// Defines the publication rating flags.
    /// </summary>
    [Flags]
    public enum PublicationRatingFlags
    {
        /// <summary>
        /// Indicates no flags.
        /// </summary>
        None = 0x00000000,

        #region S

        /// <summary>
        /// Indicates that an entity is active.
        /// </summary>
        Active = 0x00000001,

        #endregion
    }

    /// <summary>
    /// Defines the publication flags.
    /// </summary>
    [Flags]
    public enum PublicationFlags
    {
        /// <summary>
        /// Indicates no flags.
        /// </summary>
        None = 0x00000000,

        #region S

        /// <summary>
        /// Indicates that an entity is active.
        /// </summary>
        Active = 0x00000001,

        #endregion

        #region G1

        /// <summary>
        /// News.
        /// </summary>
        News = 0x00000010,

        /// <summary>
        /// Article.
        /// </summary>
        Article = 0x00000020,

        /// <summary>
        /// Advertisement.
        /// </summary>
        Advertisement = 0x00000040,

        /// <summary>
        /// Blog post.
        /// </summary>
        BlogPost = 0x00000080,

        #endregion

        #region O

        /// <summary>
        /// The ratings are allowed.
        /// </summary>
        RatingAllowed = 0x00010000,

        /// <summary>
        /// The anonymous ratings are allowed.
        /// </summary>
        AnonRatingAllowed = 0x00020000,

        /// <summary>
        /// The comments are allowed.
        /// </summary>
        CommentAllowed = 0x00040000,

        /// <summary>
        /// The anonymous comments are allowed.
        /// </summary>
        AnonCommentAllowed = 0x00080000

        #endregion
    }

    /// <summary>
    /// Defines the publication comment flags.
    /// </summary>
    [Flags]
    public enum PublicationCommentFlags
    {
        /// <summary>
        /// Indicates no flags.
        /// </summary>
        None = 0x00000000,

        #region S

        /// <summary>
        /// Indicates that an entity is active.
        /// </summary>
        Active = 0x00000001,

        #endregion
    }
}
